iT邦幫忙

2023 iThome 鐵人賽

DAY 22
0
AI & Data

進入AI的世界系列 第 22

➤D-22 深度學習與主要神經網路-2(CNN)

  • 分享至 

  • xImage
  •  

CNN

CNN基本概念

  1. CNN定義
    一種利用卷積(Convolution)與池化(Pooling)技術分別來有效地「提取影像特徵」以及「壓縮降低特徵維度」的一種深度學習神經網路。
    主要成分為輸入層(Input Layer)、卷積層(Convolution Layer)、池化層(Pooling Layer)、全連接層(Fully Connected)及輸出層(Output Layer)五種網路架構。
  2. CNN背景
    ①運算效率問題:若一個1000 * 1000等於100萬像素照片,如隱藏層也是1000個節點,有10層,則整個網路就等於100萬乘以1000乘以10,等於100億個連結。這不僅需要很大的運算力,訓練起來也很耗時。
    ②圖像特徵提取(Feature Extraction)問題:傳統的FC只用一維的像素當作輸入,來單獨處理像素與下一層節點的關係,而CNN就是利用二維的卷積層,或稱之為一個濾鏡(Filter),用來掃描圖像內的各種特徵,利用這種工具來處理,快速又有效。
    ③影像處理三大特性:
    ⓵局域性(Locality)問題:其他距離遙遠的天空、山、樹、河流的像素則與鳥嘴一點關係都沒有,不需要去處理這些關係。但傳統的FC則是要計算每個像像素與圖像內每個像素的關係,這是一個很沒有效率的架構。
    ⓶平移性(Translatability):圖像辨識是要了解這個圖像內「有無存在著那些特定的特徵」,卻不管這個特徵的「位置」在圖像的哪個方位。但在CF架構下,由於其關心每個像與像素之間的關係,因此不同位置、角度的鳥其運算出來的特徵值都不同。
    ⓷縮放性(Scaling)問題:縮放性指的是物件的大小問題,大尺寸的鳥是鳥,小尺寸的鳥也是鳥,物件等比例的放大不應該會影響其內容。但在傳統FC的架構下,大鳥與小鳥計算出來的特徵值也完全不同,這也會造成物件辨識很大的麻煩。
    上述圖像辨識的三大問題,因此為了提升AI在圖像辨識的效率性與精確度,並降低運算的時間與成本,而催生出了AI電腦視覺重大突破性武器—CNN。

CNN架構特色與運算

  1. 濾鏡的利用與訓練
    ①濾鏡的運用:CNN主要精神是利用二維的各種濾鏡去掃描圖像內的物件,去偵測其是否存在某些特定特徵。特徵吻合度愈高,則物件為此類別的概率就愈高,反之則愈低。
    ②濾鏡的訓練:傳統上,圖像處理的濾鏡是由人類專家來設計,但在CNN上,濾鏡則是由機器在掃描過數十萬張人臉的照片後,其自行會經由不斷的試務,歸納出能辨別人臉的各種層次不同之濾鏡。
    ③濾鏡的運作、卷積的演算:主要演算方式為兩個二維矩陣中的演算,卷積的運算就是兩個矩陣的「內積和」(Dot Product),主要功用是在於當濾鏡掃描到原始圖像的某個區域時,若發現到與濾鏡有相同特徵的區塊時,則卷積輸出的數值會很大,若沒有對應到相同的特徵,則其卷積運算的特徵值就會很小,所以CNN就會以各種不同的「卷積濾鏡」,或稱之為卷積核(Convolution Kernel)來作為網路核心架構。而利用卷積核來擷取特徵的這一層神經網路就稱之為卷積層(Convolution Layer)。
  2. 特徵圖(Feature Map)
    原始圖像透過不同的卷積核,在全圖一步步掃描後,會映射到新的一個多維空間,表示整個圖內哪些地方有圓形、三角形、方形的特徵存在,這個新的空間就稱為特徵圖。接著,特徵圖會當成下一層的輸入,如此不斷地遞疊而上,愈來愈複雜的卷積濾鏡會來尋找更複雜、高層的特徵。
  3. 池化層(Pooling Layer)
    CNN透過降維(Dimension Reduction)將卷積後的特徵圖進行壓縮,用更抽象的特徵來代表原來的特徵,並以此來簡化後續運算的複雜度的一種演算技術。
    ①最大化(Max Pooling):擷取原矩陣中最大值取代原來的矩陣,由於仍有大數值的存在,因此知道此區塊有某種特徵。
    ②平均值(Average Pooling):
  4. 全連接層(Fully Connected Layer)
    CNN經過卷積與池化處理後,最後為了要進行分類,還是要將最終的特徵圖攤平成為統一的全連接網路,稱之為全連接層。最後再將結果傳到分類層。

CNN處理圖像的優點

  1. 處理平移性問題
    CNN透過濾鏡掃描捕捉圖像內物件的特徵,只要存在,不管物件的位置、方向,CNN都可以記住保留這些特徵。
  2. 處理區間性問題
    相對於FC只以一個像素為處理單位,且作用在全區域,其作用(運算)只限於一個區域並不管非區域外的像素。
  3. 處理縮放性問題
    CNN池化層的濾鏡也會以降維方式來簡化運算負擔。
  4. 權重共享性
    傳統的FC每個像素與下一層像素的連結都有其獨一的權重,所以整個網路的權重數量非常大。但CNN利用濾鏡去掃描整個圖像的位置,亦即整個圖像都以這個固定的權重數量做演算,每個像素點都只共享這個濾鏡的權重。

參考資料
人工智慧-概念應用與管理 林東清著


上一篇
➤D-21 深度學習與主要神經網路-1(類神經網路、深度學習)
下一篇
➤D-23 深度學習與主要神經網路-3(循環神經網路、自動編碼器)
系列文
進入AI的世界30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言